package pl.elka.pszt.model.solver;

import pl.elka.pszt.model.Assigned;
import pl.elka.pszt.model.Knowledge;

/**
 * 
 * @author Andrzej Makarewicz
 * 
 */
public interface Solver {
	
	void setKnowledge(Knowledge knowledge);
	
	Knowledge getKnowledge();
	
	void setQuestion(Assigned question);
	
	Assigned getQuestion();
	
	void setThreadsNumber(int threadsNumber);
	
	int getThreadsNumber();
	
	void solve();
	
	boolean isSolving();
	
	boolean isClosed();
	
	void close();
}
